1. Field of Invention
This invention relates in general to computer application programs, and more particularly, to race conditions in multithreaded computer application programs.
2. Description of Background
The most common and troublesome race conditions in multithreaded applications typically involve objects in heap memory. Most other types of data are less subject to race conditions than heap memory; for example, stacks are generally thread-specific, data sections of loaded modules are read-only, and memory mapped data is typically shared with other processes and thus requires process level synchronization more commonly than thread level synchronization.
The problems associated with heap memory are applicable to various platforms including Windows, Unix and other operating systems, as well as C++, Java and other programming languages.
Thus, there is a need for a low-overhead method that detects and reports race conditions involving heap memory access.